/**
 * Author(s): xuming.Wong <xuming.Wong@gmail.com>
 */

#ifndef __APPLICATION_H__
#define __APPLICATION_H__

#include "Ogre.h"
#include "SceneObject.h"

namespace PQGame
{
	/** This class is the represent of the application
        @remarks
            
    */
	class Application
	{
	public:
		static Application& getSingleton();
		Ogre::String createWindow(HINSTANCE hInst,int ncmdshow);
		void init(HINSTANCE hInst,int ncmdshow);
		void start();
		void shutdown();
		
	protected:
		Application(void);
		~Application(void);
	private:
		void update();
		bool isRunning;
		Ogre::Timer timer;
		unsigned long lastTime;

		PQEngine::SceneObject* _sceneObject;
	};
}
#endif
